/* TailwindCSS4 Variables - SCSS Syntax */

:root {
  /* Spacing Scale */
  --spacing-0: 0;
  --spacing-px: 1px;
  --spacing-0-5: 0.125rem; /* 2px */
  --spacing-1: 0.25rem;    /* 4px */
  --spacing-1-5: 0.375rem; /* 6px */
  --spacing-2: 0.5rem;     /* 8px */
  --spacing-2-5: 0.625rem; /* 10px */
  --spacing-3: 0.75rem;    /* 12px */
  --spacing-3-5: 0.875rem; /* 14px */
  --spacing-4: 1rem;       /* 16px */
  --spacing-5: 1.25rem;    /* 20px */
  --spacing-6: 1.5rem;     /* 24px */
  --spacing-7: 1.75rem;    /* 28px */
  --spacing-8: 2rem;       /* 32px */
  --spacing-9: 2.25rem;    /* 36px */
  --spacing-10: 2.5rem;    /* 40px */
  --spacing-11: 2.75rem;   /* 44px */
  --spacing-12: 3rem;      /* 48px */
  --spacing-14: 3.5rem;    /* 56px */
  --spacing-16: 4rem;      /* 64px */
  --spacing-20: 5rem;      /* 80px */
  --spacing-24: 6rem;      /* 96px */
  --spacing-28: 7rem;      /* 112px */
  --spacing-32: 8rem;      /* 128px */
  --spacing-36: 9rem;      /* 144px */
  --spacing-40: 10rem;     /* 160px */
  --spacing-44: 11rem;     /* 176px */
  --spacing-48: 12rem;     /* 192px */
  --spacing-52: 13rem;     /* 208px */
  --spacing-56: 14rem;     /* 224px */
  --spacing-60: 15rem;     /* 240px */
  --spacing-64: 16rem;     /* 256px */
  --spacing-72: 18rem;     /* 288px */
  --spacing-80: 20rem;     /* 320px */
  --spacing-96: 24rem;     /* 384px */

  /* Font Sizes */
  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.875rem;     /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg: 1.125rem;     /* 18px */
  --text-xl: 1.25rem;      /* 20px */
  --text-2xl: 1.5rem;      /* 24px */
  --text-3xl: 1.875rem;    /* 30px */
  --text-4xl: 2.25rem;     /* 36px */
  --text-5xl: 3rem;        /* 48px */
  --text-6xl: 3.75rem;     /* 60px */
  --text-7xl: 4.5rem;      /* 72px */
  --text-8xl: 6rem;        /* 96px */
  --text-9xl: 8rem;        /* 128px */

  /* Font Weights */
  --font-thin: 100;
  --font-extralight: 200;
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;

  /* Line Heights */
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;

  /* Letter Spacing */
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;

  /* Border Radius */
  --radius-none: 0;
  --radius-sm: 0.125rem;    /* 2px */
  --radius: 0.25rem;        /* 4px */
  --radius-md: 0.375rem;    /* 6px */
  --radius-lg: 0.5rem;      /* 8px */
  --radius-xl: 0.75rem;     /* 12px */
  --radius-2xl: 1rem;       /* 16px */
  --radius-3xl: 1.5rem;     /* 24px */
  --radius-full: 9999px;

  /* Border Widths */
  --border-0: 0;
  --border: 1px;
  --border-2: 2px;
  --border-4: 4px;
  --border-8: 8px;

  /* Box Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  --shadow-none: 0 0 #0000;

  /* Z-Index */
  --z-0: 0;
  --z-10: 10;
  --z-20: 20;
  --z-30: 30;
  --z-40: 40;
  --z-50: 50;
  --z-auto: auto;

  /* Opacity */
  --opacity-0: 0;
  --opacity-5: 0.05;
  --opacity-10: 0.1;
  --opacity-20: 0.2;
  --opacity-25: 0.25;
  --opacity-30: 0.3;
  --opacity-40: 0.4;
  --opacity-50: 0.5;
  --opacity-60: 0.6;
  --opacity-70: 0.7;
  --opacity-75: 0.75;
  --opacity-80: 0.8;
  --opacity-90: 0.9;
  --opacity-95: 0.95;
  --opacity-100: 1;

  /* Flex */
  --flex-1: 1 1 0%;
  --flex-auto: 1 1 auto;
  --flex-initial: 0 1 auto;
  --flex-none: none;

  /* Grid Template Columns */
  --grid-cols-1: repeat(1, minmax(0, 1fr));
  --grid-cols-2: repeat(2, minmax(0, 1fr));
  --grid-cols-3: repeat(3, minmax(0, 1fr));
  --grid-cols-4: repeat(4, minmax(0, 1fr));
  --grid-cols-5: repeat(5, minmax(0, 1fr));
  --grid-cols-6: repeat(6, minmax(0, 1fr));
  --grid-cols-7: repeat(7, minmax(0, 1fr));
  --grid-cols-8: repeat(8, minmax(0, 1fr));
  --grid-cols-9: repeat(9, minmax(0, 1fr));
  --grid-cols-10: repeat(10, minmax(0, 1fr));
  --grid-cols-11: repeat(11, minmax(0, 1fr));
  --grid-cols-12: repeat(12, minmax(0, 1fr));
  --grid-cols-none: none;

  /* Grid Template Rows */
  --grid-rows-1: repeat(1, minmax(0, 1fr));
  --grid-rows-2: repeat(2, minmax(0, 1fr));
  --grid-rows-3: repeat(3, minmax(0, 1fr));
  --grid-rows-4: repeat(4, minmax(0, 1fr));
  --grid-rows-5: repeat(5, minmax(0, 1fr));
  --grid-rows-6: repeat(6, minmax(0, 1fr));
  --grid-rows-none: none;

  /* Transform */
  --tw-transform: translateX(var(--tw-translate-x, 0)) translateY(var(--tw-translate-y, 0)) rotate(var(--tw-rotate, 0)) skewX(var(--tw-skew-x, 0)) skewY(var(--tw-skew-y, 0)) scaleX(var(--tw-scale-x, 1)) scaleY(var(--tw-scale-y, 1));
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;

  /* Transition */
  --transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  --transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-duration: 150ms;

  /* Colors - Design System */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-transparent: transparent;
  --color-current: currentColor;

  /* Gray Scale */
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-gray-950: #030712;

  /* Red */
  --color-red-50: #fef2f2;
  --color-red-100: #fee2e2;
  --color-red-200: #fecaca;
  --color-red-300: #fca5a5;
  --color-red-400: #f87171;
  --color-red-500: #ef4444;
  --color-red-600: #dc2626;
  --color-red-700: #b91c1c;
  --color-red-800: #991b1b;
  --color-red-900: #7f1d1d;
  --color-red-950: #450a0a;

  /* Orange */
  --color-orange-50: #fff7ed;
  --color-orange-100: #ffedd5;
  --color-orange-200: #fed7aa;
  --color-orange-300: #fdba74;
  --color-orange-400: #fb923c;
  --color-orange-500: #f97316;
  --color-orange-600: #ea580c;
  --color-orange-700: #c2410c;
  --color-orange-800: #9a3412;
  --color-orange-900: #7c2d12;
  --color-orange-950: #431407;

  /* Amber */
  --color-amber-50: #fffbeb;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-amber-700: #b45309;
  --color-amber-800: #92400e;
  --color-amber-900: #78350f;
  --color-amber-950: #451a03;

  /* Yellow */
  --color-yellow-50: #fefce8;
  --color-yellow-100: #fef9c3;
  --color-yellow-200: #fef08a;
  --color-yellow-300: #fde047;
  --color-yellow-400: #facc15;
  --color-yellow-500: #eab308;
  --color-yellow-600: #ca8a04;
  --color-yellow-700: #a16207;
  --color-yellow-800: #854d0e;
  --color-yellow-900: #713f12;
  --color-yellow-950: #422006;

  /* Lime */
  --color-lime-50: #f7fee7;
  --color-lime-100: #ecfccb;
  --color-lime-200: #d9f99d;
  --color-lime-300: #bef264;
  --color-lime-400: #a3e635;
  --color-lime-500: #84cc16;
  --color-lime-600: #65a30d;
  --color-lime-700: #4d7c0f;
  --color-lime-800: #365314;
  --color-lime-900: #1a2e05;
  --color-lime-950: #0f1419;

  /* Green */
  --color-green-50: #f0fdf4;
  --color-green-100: #dcfce7;
  --color-green-200: #bbf7d0;
  --color-green-300: #86efac;
  --color-green-400: #4ade80;
  --color-green-500: #22c55e;
  --color-green-600: #16a34a;
  --color-green-700: #15803d;
  --color-green-800: #166534;
  --color-green-900: #14532d;
  --color-green-950: #052e16;

  /* Emerald */
  --color-emerald-50: #ecfdf5;
  --color-emerald-100: #d1fae5;
  --color-emerald-200: #a7f3d0;
  --color-emerald-300: #6ee7b7;
  --color-emerald-400: #34d399;
  --color-emerald-500: #10b981;
  --color-emerald-600: #059669;
  --color-emerald-700: #047857;
  --color-emerald-800: #065f46;
  --color-emerald-900: #064e3b;
  --color-emerald-950: #022c22;

  /* Teal */
  --color-teal-50: #f0fdfa;
  --color-teal-100: #ccfbf1;
  --color-teal-200: #99f6e4;
  --color-teal-300: #5eead4;
  --color-teal-400: #2dd4bf;
  --color-teal-500: #14b8a6;
  --color-teal-600: #0d9488;
  --color-teal-700: #0f766e;
  --color-teal-800: #115e59;
  --color-teal-900: #134e4a;
  --color-teal-950: #042f2e;

  /* Theme Colors - Independent from globals.css */
  --scss-primary: #1a1a1a;
  --scss-primary-foreground: #fafafa;
  --scss-secondary: #f5f5f5;
  --scss-secondary-foreground: #1a1a1a;
  --scss-muted: #f5f5f5;
  --scss-muted-foreground: #737373;
  --scss-accent: #f5f5f5;
  --scss-accent-foreground: #1a1a1a;
  --scss-destructive: #ef4444;
  --scss-destructive-foreground: #fafafa;
  --scss-border: #e5e5e5;
  --scss-input: #e5e5e5;
  --scss-ring: #737373;
  --scss-background: #ffffff;
  --scss-foreground: #1a1a1a;
  --scss-card: #ffffff;
  --scss-card-foreground: #1a1a1a;
  --scss-popover: #ffffff;
  --scss-popover-foreground: #1a1a1a;

  /* Dark theme colors */
  --scss-dark-primary: #fafafa;
  --scss-dark-primary-foreground: #1a1a1a;
  --scss-dark-secondary: #262626;
  --scss-dark-secondary-foreground: #fafafa;
  --scss-dark-muted: #262626;
  --scss-dark-muted-foreground: #a3a3a3;
  --scss-dark-accent: #262626;
  --scss-dark-accent-foreground: #fafafa;
  --scss-dark-destructive: #7f1d1d;
  --scss-dark-destructive-foreground: #fafafa;
  --scss-dark-border: #262626;
  --scss-dark-input: #262626;
  --scss-dark-ring: #d4d4d8;
  --scss-dark-background: #0a0a0a;
  --scss-dark-foreground: #fafafa;
  --scss-dark-card: #0a0a0a;
  --scss-dark-card-foreground: #fafafa;
  --scss-dark-popover: #0a0a0a;
  --scss-dark-popover-foreground: #fafafa;
  --color-teal-800: #115e59;
  --color-teal-900: #134e4a;
  --color-teal-950: #042f2e;

  /* Cyan */
  --color-cyan-50: #ecfeff;
  --color-cyan-100: #cffafe;
  --color-cyan-200: #a5f3fc;
  --color-cyan-300: #67e8f9;
  --color-cyan-400: #22d3ee;
  --color-cyan-500: #06b6d4;
  --color-cyan-600: #0891b2;
  --color-cyan-700: #0e7490;
  --color-cyan-800: #155e75;
  --color-cyan-900: #164e63;
  --color-cyan-950: #083344;

  /* Sky */
  --color-sky-50: #f0f9ff;
  --color-sky-100: #e0f2fe;
  --color-sky-200: #bae6fd;
  --color-sky-300: #7dd3fc;
  --color-sky-400: #38bdf8;
  --color-sky-500: #0ea5e9;
  --color-sky-600: #0284c7;
  --color-sky-700: #0369a1;
  --color-sky-800: #075985;
  --color-sky-900: #0c4a6e;
  --color-sky-950: #082f49;

  /* Blue */
  --color-blue-50: #eff6ff;
  --color-blue-100: #dbeafe;
  --color-blue-200: #bfdbfe;
  --color-blue-300: #93c5fd;
  --color-blue-400: #60a5fa;
  --color-blue-500: #3b82f6;
  --color-blue-600: #2563eb;
  --color-blue-700: #1d4ed8;
  --color-blue-800: #1e40af;
  --color-blue-900: #1e3a8a;
  --color-blue-950: #172554;

  /* Indigo */
  --color-indigo-50: #eef2ff;
  --color-indigo-100: #e0e7ff;
  --color-indigo-200: #c7d2fe;
  --color-indigo-300: #a5b4fc;
  --color-indigo-400: #818cf8;
  --color-indigo-500: #6366f1;
  --color-indigo-600: #4f46e5;
  --color-indigo-700: #4338ca;
  --color-indigo-800: #3730a3;
  --color-indigo-900: #312e81;
  --color-indigo-950: #1e1b4b;

  /* Violet */
  --color-violet-50: #f5f3ff;
  --color-violet-100: #ede9fe;
  --color-violet-200: #ddd6fe;
  --color-violet-300: #c4b5fd;
  --color-violet-400: #a78bfa;
  --color-violet-500: #8b5cf6;
  --color-violet-600: #7c3aed;
  --color-violet-700: #6d28d9;
  --color-violet-800: #5b21b6;
  --color-violet-900: #4c1d95;
  --color-violet-950: #2e1065;

  /* Purple */
  --color-purple-50: #faf5ff;
  --color-purple-100: #f3e8ff;
  --color-purple-200: #e9d5ff;
  --color-purple-300: #d8b4fe;
  --color-purple-400: #c084fc;
  --color-purple-500: #a855f7;
  --color-purple-600: #9333ea;
  --color-purple-700: #7e22ce;
  --color-purple-800: #6b21a8;
  --color-purple-900: #581c87;
  --color-purple-950: #3b0764;

  /* Fuchsia */
  --color-fuchsia-50: #fdf4ff;
  --color-fuchsia-100: #fae8ff;
  --color-fuchsia-200: #f5d0fe;
  --color-fuchsia-300: #f0abfc;
  --color-fuchsia-400: #e879f9;
  --color-fuchsia-500: #d946ef;
  --color-fuchsia-600: #c026d3;
  --color-fuchsia-700: #a21caf;
  --color-fuchsia-800: #86198f;
  --color-fuchsia-900: #701a75;
  --color-fuchsia-950: #4a044e;

  /* Pink */
  --color-pink-50: #fdf2f8;
  --color-pink-100: #fce7f3;
  --color-pink-200: #fbcfe8;
  --color-pink-300: #f9a8d4;
  --color-pink-400: #f472b6;
  --color-pink-500: #ec4899;
  --color-pink-600: #db2777;
  --color-pink-700: #be185d;
  --color-pink-800: #9d174d;
  --color-pink-900: #831843;
  --color-pink-950: #500724;

  /* Rose */
  --color-rose-50: #fff1f2;
  --color-rose-100: #ffe4e6;
  --color-rose-200: #fecdd3;
  --color-rose-300: #fda4af;
  --color-rose-400: #fb7185;
  --color-rose-500: #f43f5e;
  --color-rose-600: #e11d48;
  --color-rose-700: #be123c;
  --color-rose-800: #9f1239;
  --color-rose-900: #881337;
  --color-rose-950: #4c0519;

  /* Breakpoints */
  --screen-sm: 640px;
  --screen-md: 768px;
  --screen-lg: 1024px;
  --screen-xl: 1280px;
  --screen-2xl: 1536px;

  /* Container Max Widths */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
  --container-2xl: 1536px;

  /* Animation */
  --animate-spin: spin 1s linear infinite;
  --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  --animate-bounce: bounce 1s infinite;

  /* Keyframes */
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

  @keyframes ping {
    75%, 100% {
      transform: scale(2);
      opacity: 0;
    }
  }

  @keyframes pulse {
    50% {
      opacity: .5;
    }
  }

  @keyframes bounce {
    0%, 100% {
      transform: translateY(-25%);
      animation-timing-function: cubic-bezier(0.8,0,1,1);
    }
    50% {
      transform: none;
      animation-timing-function: cubic-bezier(0,0,0.2,1);
    }
  }
}

/* Dark mode variables */
@media (prefers-color-scheme: dark) {
  :root {
    /* Override specific colors for dark mode if needed */
    --color-gray-50: #030712;
    --color-gray-100: #111827;
    --color-gray-200: #1f2937;
    --color-gray-300: #374151;
    --color-gray-400: #4b5563;
    --color-gray-500: #6b7280;
    --color-gray-600: #9ca3af;
    --color-gray-700: #d1d5db;
    --color-gray-800: #e5e7eb;
    --color-gray-900: #f3f4f6;
    --color-gray-950: #f9fafb;
  }
}

/* SCSS Variables for easier usage */
$spacing-0: var(--spacing-0);
$spacing-px: var(--spacing-px);
$spacing-0-5: var(--spacing-0-5);
$spacing-1: var(--spacing-1);
$spacing-1-5: var(--spacing-1-5);
$spacing-2: var(--spacing-2);
$spacing-2-5: var(--spacing-2-5);
$spacing-3: var(--spacing-3);
$spacing-3-5: var(--spacing-3-5);
$spacing-4: var(--spacing-4);
$spacing-5: var(--spacing-5);
$spacing-6: var(--spacing-6);
$spacing-7: var(--spacing-7);
$spacing-8: var(--spacing-8);
$spacing-9: var(--spacing-9);
$spacing-10: var(--spacing-10);
$spacing-11: var(--spacing-11);
$spacing-12: var(--spacing-12);
$spacing-14: var(--spacing-14);
$spacing-16: var(--spacing-16);
$spacing-20: var(--spacing-20);
$spacing-24: var(--spacing-24);
$spacing-28: var(--spacing-28);
$spacing-32: var(--spacing-32);
$spacing-36: var(--spacing-36);
$spacing-40: var(--spacing-40);
$spacing-44: var(--spacing-44);
$spacing-48: var(--spacing-48);
$spacing-52: var(--spacing-52);
$spacing-56: var(--spacing-56);
$spacing-60: var(--spacing-60);
$spacing-64: var(--spacing-64);
$spacing-72: var(--spacing-72);
$spacing-80: var(--spacing-80);
$spacing-96: var(--spacing-96);

/* Font Size SCSS Variables */
$text-xs: var(--text-xs);
$text-sm: var(--text-sm);
$text-base: var(--text-base);
$text-lg: var(--text-lg);
$text-xl: var(--text-xl);
$text-2xl: var(--text-2xl);
$text-3xl: var(--text-3xl);
$text-4xl: var(--text-4xl);
$text-5xl: var(--text-5xl);
$text-6xl: var(--text-6xl);
$text-7xl: var(--text-7xl);
$text-8xl: var(--text-8xl);
$text-9xl: var(--text-9xl);

/* Font Weight SCSS Variables */
$font-thin: var(--font-thin);
$font-extralight: var(--font-extralight);
$font-light: var(--font-light);
$font-normal: var(--font-normal);
$font-medium: var(--font-medium);
$font-semibold: var(--font-semibold);
$font-bold: var(--font-bold);
$font-extrabold: var(--font-extrabold);
$font-black: var(--font-black);

/* Border Radius SCSS Variables */
$radius-none: var(--radius-none);
$radius-sm: var(--radius-sm);
$radius: var(--radius);
$radius-md: var(--radius-md);
$radius-lg: var(--radius-lg);
$radius-xl: var(--radius-xl);
$radius-2xl: var(--radius-2xl);
$radius-3xl: var(--radius-3xl);
$radius-full: var(--radius-full);

/* Shadow SCSS Variables */
$shadow-sm: var(--shadow-sm);
$shadow: var(--shadow);
$shadow-md: var(--shadow-md);
$shadow-lg: var(--shadow-lg);
$shadow-xl: var(--shadow-xl);
$shadow-2xl: var(--shadow-2xl);
$shadow-inner: var(--shadow-inner);
$shadow-none: var(--shadow-none);

/* Z-Index SCSS Variables */
$z-0: var(--z-0);
$z-10: var(--z-10);
$z-20: var(--z-20);
$z-30: var(--z-30);
$z-40: var(--z-40);
$z-50: var(--z-50);
$z-auto: var(--z-auto);

/* Opacity SCSS Variables */
$opacity-0: var(--opacity-0);
$opacity-5: var(--opacity-5);
$opacity-10: var(--opacity-10);
$opacity-20: var(--opacity-20);
$opacity-25: var(--opacity-25);
$opacity-30: var(--opacity-30);
$opacity-40: var(--opacity-40);
$opacity-50: var(--opacity-50);
$opacity-60: var(--opacity-60);
$opacity-70: var(--opacity-70);
$opacity-75: var(--opacity-75);
$opacity-80: var(--opacity-80);
$opacity-90: var(--opacity-90);
$opacity-95: var(--opacity-95);
$opacity-100: var(--opacity-100);

/* Breakpoint SCSS Variables */
$screen-sm: var(--screen-sm);
$screen-md: var(--screen-md);
$screen-lg: var(--screen-lg);
$screen-xl: var(--screen-xl);
$screen-2xl: var(--screen-2xl);

/* SCSS Mixins for responsive design */
@mixin sm {
  @media (min-width: #{$screen-sm}) {
    @content;
  }
}

@mixin md {
  @media (min-width: #{$screen-md}) {
    @content;
  }
}

@mixin lg {
  @media (min-width: #{$screen-lg}) {
    @content;
  }
}

@mixin xl {
  @media (min-width: #{$screen-xl}) {
    @content;
  }
}

@mixin xxl {
  @media (min-width: #{$screen-2xl}) {
    @content;
  }
}

/* SCSS Mixins for common patterns */
@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@mixin absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@mixin truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@mixin visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@mixin focus-ring {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px var(--color-blue-500);
}

@mixin transition($property: all, $duration: 150ms, $timing: cubic-bezier(0.4, 0, 0.2, 1)) {
  transition-property: #{$property};
  transition-duration: #{$duration};
  transition-timing-function: #{$timing};
}